package classDemo;

/**
 * Created by AJie on 2019/7/26
 * Function : 入门基础顺序
 * https://www.jianshu.com/p/2038ac3787f4
 * todo 类的初始化 会执行 static block，不执行 构造代码块
 * todo 创建类实例
 *
 * Singleton7 static block
 * Singleton7  block ！！！
 * Singleton7 new instance
 *
 * todo 误区静态方法调用初始化构造
 * 没有父类的情况：
 *
 * 1)类的静态属性
 * 2)类的静态代码块
 * 3)类的非静态属性
 * 4)类的非静态代码块
 * 5)构造方法
 *
 *
 * 有父类的情况：
 *
 * 1)父类的静态属性
 * 2)父类的静态代码块
 * 3)子类的静态属性
 * 4)子类的静态代码块
 * 5)父类的非静态属性
 * 6)父类的非静态代码块
 * 7)父类构造方法
 * 8)子类非静态属性
 * 9)子类非静态代码块
 * 10)子类构造方法
 *
 * // TODO: 2019-12-17 静态内部类没有调用不会执行。
 * {@link Singleton6}
 */
public class ClassLoad {
    public static void main(String args[]){
        SingletonOne singleton = new SingletonOne();
    }
}

class SingletonOne {

    public SingletonOne(){
        System.out.println("SingletonOne new instance");
    }

    static {
        System.out.println("SingletonOne static block");
    }

    {
        System.out.println("SingletonOne  block ！！！");
    }

}

